/*
  学习目标：setState - 第二个参数 - 👎
  语法： setState(对象/回调函数， () => {
     数据更新后， 函数会自动执行， 并且可以获取更新后的数据
  })
*/

import React, { Component } from 'react';

export default class App extends Component {
  state = {
    count: 0,
  };

  handleAdd = () => {
    // 👎 容易写出回调地狱
    this.setState({ count: this.state.count + 1 }, () => {
      // 会在数据更新后自动执行
      this.setState({ count: this.state.count + 2 }, () => {
        this.setState({ count: this.state.count + 3 });
      });
    });
  };

  render() {
    // 👎不会减少render执行次数
    console.log('render执行了几次  ----->  ');
    return (
      <div>
        <h1>{this.state.count}</h1>
        <button onClick={this.handleAdd}>+1</button>
      </div>
    );
  }
}
